The present invention relates to a data health monitor for financial information communications networks which automatically detects problems in the delivery of real-time financial information to client site computer systems, which problems may result in the use of non-current financial information by the client site computer systems. Upon detection of a delivery problem, the data health monitor according to the present invention automatically alerts users at the client site computer system that the financial information being used is not real-time and automatically clears the alert when the used information becomes real-time. The data health monitor according to the present invention automatically detects problems in the delivery of financial data both from data sources to the communications network and within the communications network itself. Through the use of open architecture, the data health monitor according to the present invention may be applied to a variety of client site applications including a client site terminal with a display displaying the financial information and an indication whether the information is real-time or stale.
Reuters delivers financial information from stock exchanges and other markets throughout the world to numerous client site computer systems using an extensive wide area network. The financial information delivered by this network includes financial data concerning instruments such as stocks, bonds, foreign exchange instruments, and commodities which may be traded across the world. Within Reuters network, each financial instrument traded over the network is treated as a separate entity from the time it is entered onto the network from the financial exchange until it is delivered to the client site computer systems. As trades are carried out on the various financial exchanges, corresponding financial information concerning the financial instrument transactions on the exchanges is delivered to numerous client sites worldwide in real time as updates to each affected instrument.
Approximately 1.5 million financial instruments are updated in real time in the Reuters worldwide network. All financial information should then be available in real time to all client sites worldwide with an interest in the information. Thus, accurate, real-time updates to client sites are important to the real-time display of financial information at the client sites. If the displayed financial information is not current, users of the system may rely upon faulty information in performing financial transactions, resulting in substantial financial losses. Furthermore, the display of stale information by the client sites will reduce the users"" confidence in, and therefore use of, the Reuters network.
Further, the types of financial instruments available to users is not fixed. Rather, the number of financial instruments available is constantly growing. However, current systems are designed to service one to few instrument types. By accommodating only a few instrument types, designers have optimized the operation of these closed trading systems. However, as the variety of instrument types increases, these closed systems become obsolete. Also, current systems are designed to be used with specific devices and connections, again limiting their usefulness in a global environment where the predetermined system hardware and software norms may not be available or desired. To this end, interaction between divergent operating systems has been difficult. Further, current trading systems do not readily exchange information with other applications (also referred to as host applications) running on a client site terminal. To this end, the end user is relegated to manually transporting received trading information between applications. However, manually transporting information fails to account for any change in the health (or staleness) of the information. To this end, stale information can otherwise current information as present in a user""s end application. For example, a spreadsheet calculating a trader""s investment in an instrument may reflect erroneous information when the value of each instrument changes over time and the spreadsheet is unaware of the changes. Accordingly, a need exists to provide a system able to accommodate changing instrument types, operate within different operating systems, and provide information to various other applications running on a client site terminal.
In view of the risks and consequences associated with the display of stale (not real-time) financial data by the Reuters financial information network, the data health monitor according to the present invention provides a system for automatically detecting and identifying to the users of the network stale, non-current financial information. The data health monitor provides accurate detection and identification of stale financial information in real time to prevent both losses due to user reliance on stale information and loss of user confidence in the Reuters financial information network.
Also, the data health monitor according to the present invention is based on an open system architecture wherein the data health monitor is designed to accommodate new financial instruments. Additionally, the data health monitor according to the present invention is designed to be system independent, so as to accommodate varying operating systems and associated architectures. For example, the data health monitor according to the present invention is cross-platform enabled so that, while a client site terminal may be running at least one variety of operating systems, the client site terminal may still receive and process received information. Contemplated operating systems include Windows 95(trademark), Windows NT(trademark), Windows 3.1, from Microsoft, OS/2 from IBM, the UNIX operating system and the Apple Operating systems, and the like. The program running on each client site terminal receives and interprets information from the network so the information may be used locally, independent of the operating system or combination of hardware/software used. Further, the data health monitor according to the present invention is constructed on an open application architecture which links received information between applications. In the case of Microsoft Windows(trademark) operating systems, the data health monitor uses the DDE open data interchange format to enable the transportation of information receive via the data health monitor system to additional applications running on the client site terminal. These additional applications may include spreadsheet programs, databases including knowledge bases, word processing documents, graphs, model, and the like. For example, received information can be ported to an Excel spreadsheet program (by the Microsoft Corporation of Redmond, Wash.) using DDE for various calculations. If the received information is stale (or suspect), the spreadsheet is alerted to the staleness of the received information. In response, the spreadsheet alerts the end user that at least some of the received information is stale. These alerts may take the form of altered screen colors, flashing banners, and the like. In an alternative embodiment, another application (other than the spreadsheet, or other end application) at the client site terminal alerts the user that the received information is stale.
The data health monitor according to the present invention is contemplated to be capable of detecting problems and/or delays in the delivery of financial information 1) from the financial exchanges or other real-time financial information sources to the network and 2) within the network itself. Moreover, in the present invention, each financial instrument may be individually marked as stale based upon delivery problems or delays relating to the source of the financial instrument data or problems within the portion of the network which delivers the financial instrument data to the client site computer systems.
A data health monitor in accordance with the present invention includes a processor for receiving real-time financial data from a data source, formatting the real-time financial data to include a data source identifier, and transmitting the formatted real-time financial data onto the communications network. The data health monitor also includes a status code generator for generating and transmitting a data source status code based upon the operating status of the data source wherein the data source status code includes the data source identifier. The status code generator automatically updates the data source status code in response to changes in the operating status of the data source and automatically transmits the updated data source status code. A client site computer system receives and processes the formatted real-time financial data, data source status code and the updated data source status code, and selects in real time a stale or real-time identifier (real-time/stale identifier) for the formatted real-time financial data based upon the data source identifier of the formatted real-time financial data, the data source status code and the updated data source status code. The client site computer system then utilizes the formatted real-time financial data in accordance with the selected identification. When applied to a client site terminal, the selected real-time/stale identifier relates to a selected stale or real-time display mode. When the financial information is received, the terminal then displays the financial information in the selected display mode.
Another data health monitor in accordance with the present invention includes a processor for receiving real-time financial data from a data source, formatting the real-time financial data to include a system identifier, and transmitting the formatted real-time financial data onto the communications network. The processor also includes a heartbeat signal generator for generating and transmitting at a predetermined interval a heartbeat signal including the system identifier. A client site computer system receives and processes the formatted real-time financial data and the heartbeat signal, and selects in real time a stale or real-time identifier (real-time/stale identifier) for the formatted real-time financial data based upon the system identifier of the formatted real-time financial data and the heartbeat signal. The client site computer system then uses the formatted real-time financial data in accordance with the selected real-time/stale identifier.
One of the various of the client site computer system implementations is in a terminal with an associated display. Here, a client site terminal receives and processes the formatted real-time financial data and the heartbeat signal, and selects in real time the real-time/stale identifier embodying a stale or real-time display mode for the formatted real-time financial data based upon the system identifier of the formatted real-time financial data and the heartbeat signal. The client site terminal then displays the formatted real-time financial data in accordance with the selected display mode.
A financial communications network incorporating a data health monitor according to the present invention includes a plurality of data sources, a plurality of data collection system, a client site computer system and a network connecting these components.
Each data collection system includes a processor for receiving and formatting financial data received from said data sources, wherein the formatted financial data has a data field including a first data source identifier identifying the data source of said formatted financial data and a first system identifier identifying the data collection system formatting said formatted financial data. The data collection systems also include a status code generator for generating and transmitting a status code, wherein the status code generator automatically updates the status code when the operating status of a corresponding data source changes; and a heartbeat signal generator for generating and periodically transmitting a heartbeat signal.
The client site computer system includes a processor for receiving the formatted financial data, the heartbeat signal and the status codes which it processes to determine whether there is a problem in the receipt of the financial data which prevents the terminal""s receipt of the data in real time. The client site computer system then selects a real-time/stale identifier for identifying the financial data, and uses the financial data in accordance with the selected real-time/stale identifier. When a selected application of the client site computer system is a terminal including a display for displaying the financial information, the selected real-time/stale identifier corresponds to a real-time or stale display mode. In this regard, when displaying the financial data, the terminal displays the financial data in accordance with the selected real-time or stale display mode.